package com.wn.entity;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.Min;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @program: pms
 * @description:工单表实体类
 * @author: ZC
 * @create: 2022.10.19/12点04分
 * @Version 1.0
 **/
@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonIgnoreProperties("handler")
public class WorkOrder {
    private int id;
    private String workorderNumber;//工单号
    @NotNull(message = "项目不能为空")
    private Project projectId;//项目ID    与项目表ID对应
    @NotNull(message = "物料信息不能为空")
    private Material materialNumberId;//物料编号ID    与物料档案表ID对应   ,指定为半成品物料
    @NotNull(message = "生产计划员不能为空")
    private Hr productionPlannerId;//生产计划员    与人员表ID对应
    @Min(value = 1,message = "数量不得少于1")
    private Integer num;//数量
    @NotEmpty(message = "开工日期不能为空")
    private String startdate;//开工日期
    @NotEmpty(message = "计划结束日期不能为空")
    private String overdate;//计划结束日期
    private Hr operationalStaffId;//执行人员   与人员表ID对应
    private Hr distributetheStaffId;//分配人员   与人员表对应
    @NotEmpty(message = "状态不能为空")
    private String state;//状态   待分配,待执行,已完成
    private List<WorkOrderStock> workorderStocks; //工单使用物料列表明细
}
